【星CTF2023】wp

本文最后更新于:2023年8月25日 下午

[TOC]

[*CTF2023]wp

WEB

jwt2struts

提示我们以管理员身份登录

image-20230729121703095

抓包发现:JWT_key.php

image-20230729121807549

访问一下:JWT_key.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
highlight_file(__FILE__);
include "./secret_key.php";
include "./salt.php";
//$salt = XXXXXXXXXXXXXX // the salt include 14 characters
//md5($salt."adminroot")=e6ccbf12de9d33ec27a5bcfb6a3293df
@$username = urldecode($_POST["username"]);
@$password = urldecode($_POST["password"]);
if (!empty($_COOKIE["digest"])) {
if ($username === "admin" && $password != "root") {
if ($_COOKIE["digest"] === md5($salt.$username.$password)) {
die ("The secret_key is ". $secret_key);
}
else {
die ("Your cookies don't match up! STOP HACKING THIS SITE.");
}
}
else {
die ("no no no");
}
}

重点:

1
2
3
4
//$salt = XXXXXXXXXXXXXX // the salt include 14 characters
//md5($salt."adminroot")=e6ccbf12de9d33ec27a5bcfb6a3293df
if ($username === "admin" && $password != "root")
if ($_COOKIE["digest"] === md5($salt.$username.$password))

这个是哈希长度拓展攻击,可以使用脚本HashPump 哈希长度扩展攻击

这里我们的用户名必须为:admin,并且我们知道:md5($salt."adminroot")=e6ccbf12de9d33ec27a5bcfb6a3293df

因此我们把$salt和字符串admin算在一起,所以长度为19,数据就是剩下的root

image-20230729122025321

传参获得key:sk-he00lctf3r

image-20230729122326668

然后我们根据key去伪造jwt:

image-20230729122505120

访问首页:

image-20230729122536797

访问/admiiiiiiiiiiin

image-20230729122559553

结合题目structs漏洞,用工具一把梭了

image-20230729122712062

【星CTF2023】wp
https://leekosss.github.io/2023/08/24/[星CTF2023]wp/
作者
leekos
发布于
2023年8月24日
更新于
2023年8月25日
许可协议